#define DEBUG
#include <cstdio>
#include <cstring>

using namespace std;

long long calc(long long n) {
  static long long f[20][10][10][2][2];
  memset(f, 0, sizeof(f));

  static int a[19];
  for (int i=1; n>i; i=i*10) {
    a[++a[0]] = n/i%10;
  }

  for (int i=0; i<a[a[0]]; i++) {
    f[a[0]][0][i][0][0]=1;
  }
  f[a[0]][0][a[a[0]]][0][1]=1;

  for (int i=a[0]-1; i>0; i--) {
    for (int k=0; k<10; k++) {
      for (int j=0; j<10; j++) {
	for (int p=0; p<2; p++) {
	  if (!p && j) {
	    break;
	  }
	  if (p && j==k) {
	    break;
	  }
	  for (int q=0; q<2; q++) {
	    if (q && k!=a[i]) {
	      break;
	    }
	    for (int z=0; z<2; z++) {
	      if (z && j!=a[i+1]) {
		break;
	      }
	      if (z && k>a[i]) {
		break;
	      }
	      if (z && k==a[i] && !q) {
		break;
	      }
	      for (int x=0; x<10; x++) {
		for (int y=0; y<2; y++) {
		  if (!y && x) {
		    break;
		  }
		  if (y && x==k) {
		    break;
		  }
		  if (y && j==0 && !p) {
		    break;
		  }
		  f[i][j][k][p][q] += f[i+1][x][j][y][z];
		}
	      }
	    }
	  }
	}
      }
    }
  }

  long long ret=0;
  for (int i=0; i<10; i++) {
    for (int j=0; j<10; j++) {
      for (int p=0; p<2; p++) {
	for (int q=0; q<2; q++) {
	  ret += f[1][i][j][p][q];
	}
      }
    }
  }
  return ret;
}

int main() {
#ifdef DEBUG
  freopen("0.in", "r", stdin);
  freopen("0.out", "w", stdout);
#endif

  long long a, b;
  scanf("%lld %lld", &a, &b);
  printf("%lld", calc(b)-calc(a-1));
  
  fclose(stdin);
  fclose(stdout);
  return 0;
}
